Method for providing selectable alternate menu views

ABSTRACT

In a method for providing a menu display, in response to a menu item selection, the method may determine whether a menu map selection event or a cascading menu selection has occurred, may display a plurality of menus including those that are of a hierarchical level below and not immediately following the hierarchical level of the menu item upon a condition that the menu map selection event occurred, and may display a plurality of menus including a submenu of the menu item that is of an hierarchical level immediately below and not further below that of the menu item if the cascading menu selection has occurred.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. patent application Ser. No. 11/317,313, filed Dec. 23, 2005, the content of which is incorporated herein by reference in its entirety.

BACKGROUND

Computer applications include a large number of operations. An operation is utilized by user input instructing a processor to execute instructions for performance of the operation. Such user input is often provided via a graphical user interface in which is displayed menus including selectable menu items. Selection by a user of a menu item is interpreted by the processor as an instruction to perform an operation to which the selected menu item corresponds.

It is conventional to provide selectable operations of an application in multiple menus according to defined categories. For one or more of the menus, further cascading menus are provided in an hierarchical manner, as shown in FIG. 1. Often only the menu categories, without the corresponding menus, are initially displayed. Then in response to selection of a displayed category, the corresponding cascading menu is displayed. Often, a menu includes 3 or more cascading levels in its hierarchy.

Conventionally, a cascading menu remains displayed only as long as its parent menu item remains selected. While a first menu item of a menu of a particular hierarchical level is selected, selection within the menu of another menu item causes deselection of the previously selected menu item. When a parent menu item of a cascading menu is deselected, the cascading menu is removed from display.

Because of the fleeting nature of the display of cascading menus, searching for particular menu items is often a time consuming trial and error experience, especially for occasional users who are unfamiliar with the available menu items and/or their positions within the menu hierarchy. Further, even for those who are familiar with the available menu items and their positions within the menu hierarchy, selection of a menu item is often difficult because inadvertent movement of a mouse cursor from a selected parent menu item to another menu item causes removal from display of the desired cascading menu.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a screenshot of a conventional display of hierarchical cascading menus.

FIG. 2 is a block diagram that illustrates example components of a system according to an example embodiment of the present invention.

FIG. 3 is a screenshot of a menu display according to an example embodiment of the present invention.

FIG. 4 is a flowchart that illustrates an example procedure that may be performed according to an example embodiment of the present invention.

DETAILED DESCRIPTION

Embodiments of the present invention relate to a computer system and method that may provide for selectable alternate views of hierarchically arranged menus. In a first of the selectable views, in response to selection of a menu item, a child submenu of the selected menu item that corresponds to a hierarchical level immediately below that of the selected parent menu item may be displayed without display of submenus that correspond to lower hierarchical levels. In a second of the selectable views, in response to selection of the menu item, all child submenus of the selected menu item that correspond to hierarchical levels below that of the selected parent menu item may be concurrently displayed in a menu map. The computer system may include a computer program written in any conventional computer language, and in particular in an object oriented computer language. Example computer languages that may be used to implement the computer system and method of the present invention may be Java, Extensible Markup Language (XML), C++, or a combination thereof. The computer program may include instructions that are executable by a processor and that are stored on a hardware computer-readable medium. The computer program may include event detection methods for detecting and responding to a view selection event to provide the menus and submenus according to the event's corresponding view.

FIG. 2 is a block diagram that illustrates example components of a system on which embodiments of the present invention may be implemented. A processor 100 may execute the program instructions. For example, in a memory 102, which may be the hardware computer-readable medium, may be stored an event detection method 104 for detection of an event that is interpreted as an instruction to provide a menu. The instruction to provide the menu may be input in different ways corresponding to different menu view selections. The event detection method 104 may detect the way in which the instruction is provided and may accordingly determine the selected menu view. At a terminal 106 that includes a graphical user interface (GUI) 105 may be provided an input device 108 for inputting the menu view selection. The input device may be a keyboard, a mouse, or any other conventional input device. In response to input via the input device 108 for a menu view selection, the event detection method 104 may determine the selected menu view and cause the processor 100 to output data for generation of a display that is in accordance with the selected view and that may be provided at the GUI 105.

In an embodiment of the present invention, a display may be provided at the GUI 105 that includes a listing of one or more menu categories. (A menu category, as referred to herein, is an item that is of a highest hierarchical level with respect to menu display of an application or portal. A menu listing, as referred to herein, is a listing of a menu other than a menu category. A menu item, as referred to herein, is that which is either a menu category or a menu listing. A menu, as referred to herein, is a list that includes menu listings of a same hierarchical level. Accordingly, while a menu category is of a highest hierarchical level with respect to menus, it is not of a highest hierarchical menu level, since, as referred to herein, a menu category is not of a menu.) For example, the listing of menu categories may be provided in a menu bar of an application workspace or portal home page display window as shown in FIG. 1. In response to an input via the input device 108 for requesting a menu, the event detection method 104 may determine whether a cascading menu view or a menu map view is selected. In one embodiment of the present invention, the cascading menu view selection may be detected when a mouse pointer is moved over or in close proximity to a menu category, and the menu map view selection may be detected when a mouse-click is detected. Alternatively, a left-mouse-click may be associated with the cascading menu view selection, and a right-mouse-click may be associated with the menu map view selection. It will be appreciated that these are non-exclusive examples of associations of events to menu view selections, and that other events may be instead or additionally correspondingly associated with the menu view selections. For example, the other events may also be via a mouse or may be via a different input device 108, such as keyboard keystrokes.

If it is determined in response to selection of a menu category that the cascading menu view is selected, the event detection method 104 may cause the system to display in response to the menu request, only a menu of a highest hierarchical menu level. For example, in response to selection of “System” in FIG. 1, the left-most menu beneath “System” may be displayed and the menus shown to the right may be omitted from display.

A menu may include items that represent a selectable feature, in response to selection of which a desired application operation may be performed, and may include items that represent headings of submenus, in response to selection of which a cascading menu of items that are of a lower hierarchical level may be displayed. For example, in FIG. 1, “Close session” is indicated to be a selectable program feature, while “Services” is indicated to be a submenu heading by virtue of an arrow placed by the “Services” menu item.

In one example embodiment, the event detection method 104 may determine which menu view is selected in response to a menu category selection, but may refrain from making this determination in response to selection of a menu item of menus provided in response to the initial menu and view selection, i.e., a menu listing. According to this embodiment, after the menu of the highest hierarchical menu level is provided, in response to selection of a menu listing within the menu or within lower level menus, the system may provide a cascading submenu regardless of the way the menu item selection is input. Example cascading menu are shown in FIG. 1. The center menu of FIG. 1 is a cascading menu provided in response to selection of the “Services” menu heading displayed in the left most menu of FIG. 1, and the right most menu of FIG. 1 is a cascading menu provided in response to selection of the “Batch Input” menu heading displayed in the center menu of FIG. 1.

In an alternative example embodiment, in response to selection of a menu listing, if the selected menu listing is a submenu heading, the event detection method 104 may determine a selected view for display of the submenu, regardless of the hierarchical level of the menu including the selected menu listing. If the event detection method 104 determines that the cascading menu view is selected, the event detection method 104 may cause the system to display the selected submenu as a cascading menu.

In an example embodiment of the present invention, a menu provided in response to a cascading menu view selection may be displayed within the main program window, e.g., the application workspace or portal home page window. If a particular menu listing or menu category in response to selection of which the menu is displayed is deselected, the menu provided in response to its initial selection may be removed from the display window. For example, movement of the mouse pointer to a different menu category or to a different menu listing that is in a menu that includes the particular menu listing or that is in a parent menu of the particular menu listing may deselect the initially selected menu category or particular menu listing. Alternatively or additionally, movement of the pointer to an area outside of any of the displayed menus may deselect all previously selected menu items. Consider the above as applied to the menus shown in FIG. 1. If the mouse pointer is moved to or clicked at an area of the “User Profile” menu heading, the “Services” menu heading may be deselected and the center and right-most menus of FIG. 1 may be removed from display.

In an example embodiment of the present invention, if when the event detection method 104 determines a selected menu view in response to selection of a menu category it is determined that the menu map view is selected, the event detection method 104 may cause the system to display all menus and submenus of the menu category so that they may be displayed simultaneously. For example, the menus and submenus may be displayed in a separate display window as shown in FIG. 3. FIG. 3 shows a listing of all menu items of the “System” menu category displayed in index form, where a hierarchical level of a menu listing may be indicated by an extent of its indentation. For example, the first three menu items listed in the menu of FIG. 3 are indented by the least amount, while the next five entries are indented by a greater amount, indicating that the five entries are of a submenu of the third menu item, “User Profile.” With respect to the menu map, all menu items that are of the same hierarchical level and that are of a same menu heading, or, if they are at the highest hierarchical menu level, of the same menu category, are referred to herein as being parts of a same menu. If menu listings are of different hierarchical levels, or if they are of the same hierarchical level but are of different menu categories or different menu headings, they are referred to herein as being parts of different menus.

As discussed above, in an embodiment of the present invention, the event detection method 104 may determine the selected view for display of a submenu regardless of the hierarchical level of the menu including the selected menu listing. According to this embodiment, if the event detection method 104 determines, in response to a selection of a menu listing of a menu provided in response to a previous selection, that the menu map view is currently selected, the system may provide a menu map as shown in FIG. 3, including all menus and submenus that are of the menu category to which the selected menu listing belongs, regardless of the hierarchical level of the menu to which the selected menu listing belongs, and regardless of a menu view selection according to which the menu including the currently selected menu listing was displayed. Alternatively, if the previously displayed menu is displayed according to the cascading menu view selection, the system may provide a menu map that includes only those menu listings of the menu that includes the selected menu listing, of the menu(s) that is a parent menus(s) of the menu that includes the selected menu listing, and of all submenus of the selected menu listing.

In one example embodiment of the present invention, determination of a menu view selection in response to selection of a menu listing of a previously displayed menu may be restricted to selection of a menu listing of a menu displayed according to the cascading menu view selection. Alternatively, the determination may be also made in response to selection of a menu item of a menu map. If it is determined that the cascading menu view is selected, the system may close the previously displayed menu map and display the selected submenu and all its parent menus according to the cascading view.

In an embodiment of the present invention, as is the case with respect to menus displayed in accordance with the cascading menu view, menus displayed in accordance with the menu map view may include a menu listing that represents a selectable feature, in response to selection of which a desired application operation may be performed.

The system may configure the displayed menu window so that it does not exceed a predetermined length and/or so that its vertical scrolling area does not exceed a predetermined amount. For example, if the number of menu items exceed a number of items that may be provided in a vertical listing within the allotted vertical scrolling area, the system may divide the window into a plurality of columns, so that when the bottom of the scrolling area of a first column is reached, the menu listing is continued at the top of a next column, as shown in FIG. 3.

In an example embodiment of the present invention, the window including the menu map may include a menu bar as shown in FIG. 3 that lists the menu categories listed in an application workspace window to which the menu map corresponds. According to this embodiment, if the event detection method 104 detects that a menu category of the menu map menu bar is selected that is different than the menu category of the menu listings displayed in the menu map, the system may modify the menu map to include menu listings of the different menu category instead of or in addition to the previously displayed menu listings, i.e., the menu listings of the previously selected menu category.

In an embodiment of the present invention, menus displayed in response to a menu map view selection may be removed according to different criteria that that according to which menus initially displayed in response to a cascading view selection are removed from display. For example, while the latter menus may be removed from display in response to movement of a mouse pointer to or click of a mouse pointer at a display area of another menu category or menu listing, or to an area outside of any of the displayed menus, the former menus may remain displayed even when these events occur. Instead, according to this example embodiment, the menu map window may remain displayed until it is closed by selecting a window exit button or key, such as the escape key. In an alternative embodiment, the menu map window may also be removed from display when the mouse pointer is moved to or clicked at an area external to the menu map window, similar to the removal from display of the menus displayed in accordance with the cascading menu view.

In one example embodiment of the present invention, selection of a menu heading in the menu map may be ignored. In an alternative embodiment, in response to selection of a particular menu heading in the menu map, menu listings of a same hierarchical menu level as that of the particular menu heading but of a different menu, and their submenus, may be removed from display. Additionally, menu listings that are of a higher hierarchical menu level than that of the particular menu heading and are not of menus that include parent menu listings of the particular menu heading may be removed from display.

In an example embodiment of the present invention, in response to a menu map selection input made while a mouse pointer is within an area of a menu bar that is not associated with any particular one of the listed menu categories, the system may provide a menu map that includes the menu listings of all of the menu categories. In a slight variation of this embodiment, a particular area of the menu bar may be designated for this purpose. For example, an all-category icon may be displayed in the menu bar for this purpose.

FIG. 4 is a flowchart that shows an exemplary sequence of a procedure that may be executed according to an embodiment of the present invention. At 400, the system may detect a menu provision instruction. At 402, the system may determine which menu view is selected. If the cascading menu view is selected, then, at 404, the system may selectively display menus in cascading menu form in accordance with the distance of the menus' hierarchical menu levels from that of the selected menu item. At 404, the system may display (a) menus that include menu listings that are of menus including parent menu listings of a menu listing selected at 400, (b) a menu that includes the menu listing selected at 400, and/or (c) a menu that is of a hierarchical level immediately below that of the menu item selected at 400 and that is a child menu of the menu item selected at 400, and may omit from display all other menus. If the menu map view is selected, then, at 406, the system may display menus without consideration of the distance of their hierarchical levels from that of the selected menu item. For example, at 406, the system may display all menus displayed at 404, and may additionally display all child menus of the menu item selected at 400, regardless of the number of hierarchical levels by which the menus are removed from the menu item selected at 400. As discussed above, in some embodiments of the present invention, other menus may additionally be displayed at 406. For example, all menus of the menu category to which the selected menu item belongs may be displayed.

Those skilled in the art can appreciate from the foregoing description that the present invention can be implemented in a variety of forms. Therefore, while the embodiments of this invention have been described in connection with particular examples thereof, the true scope of the embodiments of the invention should not be so limited since other modifications will become apparent to the skilled practitioner upon a study of the drawings, specification, and following claims. 

1-16. (canceled)
 17. A computer-implemented menu display method comprising: responsive to a first selection, displaying, by a processor and in a display device, a menu item; and responsive to selection of the displayed menu item: displaying, by the processor and in the display device, a menu in a menu map view if the first selection was performed via a first selection event; and displaying, by the processor and in the display device, a menu in a cascading view if the first selection was performed via a second selection event.
 18. A computer-implemented menu display method, comprising: in response to a selection, by a first selection event associated with a menu map display, of a menu item selectable via the first selection event and via a second selection event associated with a cascading menu display, displaying a menu, by a processor and in a display device, according to the menu map display; wherein all submenus of the selected menu item are displayed in response to the selection irrespective of the submenus' hierarchical levels, and a menu, that is not a submenu of the selected menu item and that includes menu items other than the selected menu item and that are of the same or a higher hierarchical level as that of the selected menu item, is displayed, the display of said menu that is not a submenu of the menu item being conditional upon that said menu that is not a submenu of the menu item one of (a) includes the selected menu item, and (b) includes a menu item that is a parent of the selected menu item.
 19. The method of claim 18, wherein: the selection of the menu item occurs while the menu item is displayed in the cascading menu display in each of whose menus there is listed: (a) the menu item, (b) at least one menu item that is a direct parent of the selected menu item, or (c) at least one menu item that is an indirect parent of the selected menu item.
 20. A computer-implemented menu display method, comprising: in response to a selection of a menu item selectable via a first selection event and via a second selection event: determining, by a processor, by which of the first selection event and the second selection event the selection has occurred, whichever one of the first and second selection events determined in the determining step as being that by which the selection has occurred thereby being a determined selection event; displaying, by the processor and in a display device, a menu in a menu map view responsive to determining that the first selection event has occurred; and displaying, by the processor and in the display device, a menu in a cascading view responsive to determining that the second selection event has occurred; wherein the determining step is performed in response to the selection via the first or second selection event conditional upon that the menu item is not selected from a display generated in response to a previous occurrence of the first selection event.
 21. The method of claim 20, wherein, if a menu listing is selected from the display generated in response to the previous occurrence of the first selection event, the display generated in response to the previous occurrence of the first selection event is modified to remove all menus from the display generated in response to the previous occurrence of the first selection event, other than (a) a submenu of the menu listing, (b) a menu that includes the menu listing, and (c) a menu that includes a menu item that is a parent of the selected menu item.
 22. A computer-implemented menu display method, comprising: displaying, by a processor and in a display device, a menu listing that is indicated in memory as belonging to a predefined category in a cascading map in each of whose menus there is at least one menu item that is a direct parent of the menu listing, an indirect parent of the menu listing, a direct child of the menu listing, or an indirect child of the menu listing; and responsive to a selection of the menu listing, replacing, by the processor, the cascading map with a menu map, the menu map including at least one menu, each of whose listings is not a direct parent of the menu listing, is not an indirect parent of the menu listing, is not a direct child of the menu listing, and is not an indirect child of the menu listing; wherein a menu item is included in the menu map conditional upon that the menu item is indicated in memory as belonging to the predefined category.
 23. A computer-implemented menu display method, comprising: displaying, by a processor and in a display device, a particular menu listing in a menu of a menu map view, which menu map view includes at least one menu, each of whose listings is not a direct parent of the particular menu listing, is not an indirect parent of the particular menu listing, is not a direct child of the particular menu listing, and is not an indirect child of the particular menu listing; responsive to selection of the particular menu listing, replacing, by the processor, the menu map view with a cascading menu view, a menu being displayed in the cascading menu view conditional upon that the menu includes at least one of (a) a direct parent of the particular menu listing, (b) an indirect parent of the particular menu listing, (c) the particular menu listing, and (d) a direct child of the particular menu listing.
 24. The method of claim 23, wherein: in the menu map view, a submenu is displayed within a same column as, and immediately below, its direct parent menu item, and another menu item of a menu that includes the direct parent menu item is displayed immediately below the submenu; and in the cascading menu view, the another menu item is displayed immediately below the direct parent menu item, and the submenu is displayed in a different column than a column in which the direct parent menu item.
 25. A computer-implemented menu display method, comprising: displaying, by a processor and in a menu map view: a submenu within a same column as, and immediately below, a direct parent menu item of the submenu; and another menu item of a menu that includes the direct parent menu item immediately below the submenu; and in response to selection of the direct parent menu item, displaying, by the processor and in a cascading menu view: the another menu item immediately below the direct parent menu item; and the submenu in a different column than a column in which the direct parent menu item is displayed.
 26. A computer-implemented menu display method, comprising: displaying a menu category bar including selectable category listings; and for each of the selectable category listings, in response to selection of the respective category listing, displaying a menu map of all menu items identified in memory as belonging to the respective category listing, in which menu map no menu item that is not identified as belonging to the respective category listing is displayed.
 27. The method of claim 26, wherein the menu category bar is displayed across a top region of a display frame in which the menu map is displayed.
 28. The method of claim 26, wherein the selectable category listings are displayed in a single row in the menu category bar.
 29. The method of claim 26, wherein, in response to a selection of a first one of the category listings while menu items identified in memory as belonging to a second one of the category listings are displayed, removing from display the menu items identified in memory as belonging to the second one of the category listings and displaying menu items identified in memory as belonging to the first one of the category listings.
 30. The method of claim 29, wherein the menu bar includes further includes an all-category icon, in response to selection of which the processor displays in the menu map, for each of the category listings, all menu items identified in memory as belonging to the respective category listing.
 31. The method of claim 29, wherein the menu bar includes further includes a portion not assigned to any menu category, in response to selection of which the processor displays in the menu map, for each of the category listings, all menu items identified in memory as belonging to the respective category listing.
 32. The method of claim 26, wherein the menu bar includes further includes an all-category icon, in response to selection of which the processor displays in the menu map, for each of the category listings, all menu items identified in memory as belonging to the respective category listing.
 33. The method of claim 26, wherein the menu bar includes further includes a portion not assigned to any menu category, in response to selection of which the processor displays in the menu map, for each of the category listings, all menu items identified in memory as belonging to the respective category listing. 